草庐IT

Python KMeans 聚类单词

全部标签

python - 定义单词的上下文 - Python

我认为这是一个有趣的问题,至少对我而言。我有一个单词列表,假设:photo,free,search,image,css3,css,tutorials,webdesign,tutorial,google,china,censorship,politics,internet我有一个上下文列表:编程世界新闻技术网页设计如果可能,我需要尝试将单词与适当的上下文匹配。也许以某种方式发现单词关系。有什么想法吗?帮助将不胜感激! 最佳答案 这听起来更像是一个分类/本体问题,而不是NLP。尝试WordNet用于标准本体。我在您陈述的问题中没有看到任

python - scikit-learn:标记化时不要分隔带连字符的单词

我正在使用CountVectorizer并且不想将带连字符的单词分成不同的标记。我已尝试将不同的pregex模式传递到token_pattern参数中,但未能获得所需的结果。这是我尝试过的:pattern=r'''(?x)#setflagtoallowverboseregexps([A-Z]\.)+#abbreviations(e.g.U.S.A.)|\w+(-\w+)*#wordswithoptionalinternalhyphens|\$?\d+(\.\d+)?%?#currency&percentages|\.\.\.#ellipses'''text='Ihatetraffic-

python - 如何使单词边界\b 在破折号上不匹配

我针对遇到的具体问题简化了代码。importrepattern=re.compile(r'\bword\b')result=pattern.sub(lambdax:"match","-word-word")我得到了'-match-match'但是我想要'-word-match'编辑:或者对于字符串"word-word-"我要"match-word-" 最佳答案 你需要的是消极的回顾。pattern=re.compile(r'(?引用documentation:(?Matchesifthecurrentpositioninthestr

python - 单词之间的删除距离

我试图找出需要删除多少个字符才能使这两个词相同。例如,“at”、“cat”将是1,因为我可以删除c,“boat”和“got”将是3,因为我可以删除b、a和g使其成为ot。我将这些单词放入字典中,并将它们的计数作为值。然后我遍历字典并查看该键是否存在于另一个字典中,否则我将差异加1。这是一个非常低效的算法吗?但它高估了我需要的删除数量。defdeletiondistance(firstword,secondword):dfw={}dsw={}diff=0foriinrange(len(firstword)):printfirstword[i]iffirstword[i]indfw:dfw

python - 只有在重复而不是单词的一部分时才用另一个替换字符

在Python3中,以下代码用于将*的字符串(两个或更多)替换为x。importrere.sub(r'\*(?=\*)|(?但是,如果我还想豁免作为“单词”一部分的*字符串,如下所示怎么办?(即字符串附加到一个或多个[a-zA-Z]字符。)text="Don'treplacefoo***or**bar,either."#unmodifiedtextexpected我该怎么做?我可能也可以匹配豁免的情况并使用替换函数来处理它们,但是有没有更好的方法? 最佳答案 regex=r"\s\*{2,}[\s\n]"这匹配2个或更多*字符,由空

python - 使用 scikit-learn DecisionTreeClassifier 进行聚类

当使用sklearn.tree.DecisionTreeClassifier时,分类器具有预测概率和类别的方法。有没有办法使用同一棵树进行聚类:对于给定的输入向量x,简单地告诉x属于哪个叶子? 最佳答案 我找到了我自己问题的答案-将它留在这里作为下次有人查找时的引用:importnumpyasnpimportsklearn.treeclf=sklearn.tree.DecisionTreeClassifier()clf.fit(X,y)clf.tree_.apply(np.asfortranarray(X.astype(sklear

python - 如何使用 KNN/K-means 对数据帧中的时间序列进行聚类

假设一个包含1000行的数据框。每行代表一个时间序列。然后我构建了一个DTW算法来计算2行之间的距离。我不知道下一步该怎么做才能完成数据框的无监督分类任务。如何标记数据框的所有行? 最佳答案 定义KNNalgorithm=K-nearest-neighbourclassificationalgorithmK-means=centroid-basedclusteringalgorithmDTW=DynamicTimeWarpingasimilarity-measurementalgorithmfortime-series我在下面逐步展

python - 当我们只向 kmeans 提供单个单词的 tfidf 向量时,kmeans 如何知道如何对文档进行聚类?

我正在使用scikitlearn的Kmeans算法对评论进行聚类。sentence_list=['hellohowareyou',"Iamdoinggreat","mynameisabc"]vectorizer=TfidfVectorizer(min_df=1,max_df=0.9,stop_words='english',decode_error='ignore')vectorized=vectorizer.fit_transform(sentence_list)km=KMeans(n_clusters=num_clusters,init='k-means++',n_init=10,

python - 在python中排序单词

在python中是否可以根据自己创建的字母表而不是根据英文字母表对单词列表进行排序。 最佳答案 您通常可以定义自定义比较方法,以便在您的限制范围内执行排序。我一生中从未编写过一行Python代码,但它与Ruby非常相似,我注意到以下摘录自thispage可能对您有帮助:alphabet="zyxwvutsrqpomnlkjihgfedcba"inputWords=["england","france","spain","italy","greece","portugal","canada","usa","mexico","peru"

python - 如果我有一个单词列表,如何有效地检查字符串是否不包含列表中的任何单词?

正如标题所说,我有一个单词列表,比如stopWords=["the","and","with",etc...]我收到了类似“杀狐狸狗”。我想要像“杀死狐狸狗”这样的输出非常高效和快速。我该怎么做(我知道我可以使用for循环进行迭代,但效率不高) 最佳答案 最重要的改进是使停用词成为集。这意味着查找将非常快stopWords=set(["the","and","with",etc...])"".join(wordforwordinmsg.split()ifwordnotinstopWords)如果你只是想知道文本中是否有任何停用词if